/**
 使用 @Body 获取请求体数据。
使用 @Param 获取路径参数。
使用 @Query 获取查询参数。
 */
import {
  Controller,
  Get,
  Post,
  Body,
  Patch,
  Param,
  Delete,
  Req,
  Query,
} from '@nestjs/common';
import { SystemService } from './system.service';
@Controller({ path: 'system', version: '1' })
export class SystemController {
  constructor(private readonly systemService: SystemService) {}

  // Get请求携带Query参数
  @Get('routes')
  getRoutes(
    @Req() req: any,
    @Query('page') res: any,
    @Query('limit') limit?: any,
  ) {
    return this.systemService.getRoutes1(req.user);
  }
  // 增删改查 部门，角色，用户
  @Post('dept/add')
  addDept(@Body() body: any) {
    return this.systemService.addDept(body);
  }
  @Post('dept/update')
  updateDept(@Body() body: any) {
    return this.systemService.updateDept(body);
  }
  @Delete('dept/delete/:id')
  deleteDept(@Param('id') id: any) {
    return this.systemService.deleteDept(id);
  }
  @Get('dept/find')
  getDept() {
    return this.systemService.getDept();
  }

  @Post('role/add')
  addRole(@Body() body: any) {
    return this.systemService.addRole(body);
  }
  @Post('role/update')
  updateRole(@Body() body: any) {
    return this.systemService.updateRole(body);
  }
  @Delete('role/delete/:id')
  deleteRole(@Param('id') id: any) {
    return this.systemService.deleteRole(id);
  }
  @Get('role/find')
  getRole() {
    return this.systemService.getRole();
  }
  @Post('user/add')
  addUser(@Body() body: any) {
    return this.systemService.addUser(body);
  }
  @Post('user/update')
  updateUser(@Body() body: any) {
    return this.systemService.updateUser(body);
  }
  @Delete('user/delete/:id')
  deleteUser(@Param('id') id: any) {
    return this.systemService.deleteUser(id);
  }
  @Get('user/find')
  getUser() {
    return this.systemService.getUser();
  }
}
